package org.eraser.security.authentication.provider;

import org.springframework.security.authentication.AuthenticationProvider;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.AuthenticationException;
import org.springframework.stereotype.Service;

/**
 * <p>
 * 认证管理器 AuthenticationManager 有很多实现，ProviderManager 是最常用的一个。
 * ProviderManager 是一个代理类，真正执行认证逻辑的是 AuthenticationProvider 的实现类，ProviderManager 会一一尝试这些实现直到有结果返回。
 * <p>
 * 自定义 AuthenticationProvider
 * 这个类的身份验证方式：依据手机号和手机短信验证码进行身份验证
 */
@Service
public class SMSAuthenticationProvider implements AuthenticationProvider {

    @Override
    public Authentication authenticate(Authentication authentication) throws AuthenticationException {
        return null;
    }

    @Override
    public boolean supports(Class<?> authentication) {
        return false;
    }
}
